The present invention relates to a virtual computer system and to a technology for automatically and dynamically changing allocations of computer resources relative to logical partitions (LPARs) according to a limited knowledge of workloads being run on operating systems (OSs) in the LPARs and loads to be accomplished by the OSs.
Virtual computer systems are such that a hypervisor divides a physical computer into a plurality of logical partitions (LPARs), computer resources (including a CPU, a main memory, an I/O device) are allocated to the LPARs, and an operating system (OS) is run in each LPAR.
Talking of gaining access to an existing computer system by utilizing the Web (short for the World Wide Web), since it is generally hard to predict a load, many users often suddenly accesses the computer system in a concentrated manner. On such an occasion, the load peaks. On a normal occasion other than the occasion when the load peaks, the load is usually low.
It is unreasonable to allocate a large number of or a large amount of computer resources to LPARs from the beginning in case of rare occurrence of a peak load. Instead, a small number of or a small amount of resources is allocated normally. If a load of an LPAR becomes high, the number of resources to be allocated is increased in order to cope with the peak load (this is referred to as load adaptive control). Thus, the number of wasteful computer resources can be decreased or the number of supportable LPARs can be increased.
Accordingly, allocations of resources relative to LPARs must be able to be dynamically varied. A literature “HITAC Processor Resource Management Facility (PRMF)” (Manual No. 8080-2-148-40 published by Hitachi Ltd.) describes dynamic variation of allocations of resources relative to LPARs. According to the manual, in order to vary allocations of resources relative to LPARs, an operator (manager) issues a resource allocation varying instruction. In response to the instruction, a hypervisor dynamically varies the allocations of the resources relative to the LPARs.
The foregoing allocation variation involving an operator cannot cope with a case where allocations must be varied quickly, that is, a case where a system failure or any other emergency occurs or a peak load arises suddenly.
In contrast, Japanese Unexamined Patent Publication Application No. 9-26889 discloses a virtual computer system that automatically varies a CPU allocation according to a change in external conditions. According to this invention, allocations of resources relative to LPARs can be automatically varied depending on whether an emergency has occurred or depending on an operation schedule without intervention of an operator. Moreover, a definition value of a CPU allocation is compared with an actual processor use time, whereby a definition value of a processor allocation ratio can be varied depending on whether the processor use time is too long or too short.
According to the related art, resources are allocated according to whether the processor use time is too long or too short. However, it is hard to infer a load to be accomplished by a computer system from the use time of a CPU. The allocation ratios of computer resources relative to LPARs cannot be appropriately varied depending on loads.
Moreover, even if a value representing a load to be accomplished in each LPAR can be learned correctly, it is hard to correctly calculate the appropriate allocation ratios of computer resources relative to LPARs from the loads alone. In particular, if workloads to be run on the OSs in the LPARs are different from one another in terms of characteristics (a steady-state load, a peak load, and a peak duration), the appropriate allocation ratios of computer resources relative to the LPARs are thought to differ from one another.
Based on correct load values and a little knowledge of workloads, there is presumably provided a system for automatically and appropriately allocating computer resources to LPARs.